10. 错误与异常 |
您所在的位置:网站首页 › php 错误和异常处理 › 10. 错误与异常 |
错误
在很多「重异常(exception-heavy)」编程语言中,无论出现什么问题,都会抛出异常。这确实是一种可行的方法,但是 PHP 是「轻异常」的编程语言。虽然确实存在异常,并且很多核心在使用对象的时候已经开始使用这些异常了,但 PHP 更多的时候会尝试保持运行,除非发生了致命错误。 举个例子: $ php -a php > echo $foo; Notice: Undefined variable: foo in php shell code on line 1这只是一个提醒级别的错误,PHP 会继续运行。这会让那些来自「重异常」语言的开发者很困惑,因为例如在 Python 中,引用一个不存在的变量将抛出异常: $ python >>> print foo Traceback (most recent call last): File "", line 1, in NameError: name 'foo' is not defined唯一的区别是 Python 会在任何一件小事上终止程序,所以开发人员可以十分确认任何问题或边界值问题都会被捕获,而相同的情况 PHP 会继续进行。除非是发生极端问题,PHP 才会抛出错误并报告问题。 错误级别PHP 有多个错误级别。三个最常见的错误级别是:错误、提醒、警告。这些错误的级别不同,E_ERROR、E_NOTICE 和 E_WARNING。「错误」 是运行时的致命错误,通常是代码错误导致的。由于会导致程序停止,所以需要及时修正。「提醒」 是因为代码而出现的建议消息,在执行期间不一定会导致问题,程序运行也不会停止。「警告」 是非致命错误,不会导致程序停止。 另一种错误信息是在编译时报告的 E_STRICT。这些消息用于确保与即将发布的新版本 PHP 的兼容性,对代码的更改建议。 更改 PHP 的错误报告行为错误报告可以通过 PHP 配置或 PHP 函数来更改。你可以在脚本执行期间,使用内置的 PHP 函数 error_reporting(),传入一个表示错误级别的预定义常量,来设置错误报告级别。例如你只想要看到错误和警告,不想看到提醒,你可以这样设置: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |